package com.munichosica.myapp.dao;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.zip.DataFormatException;

import javax.servlet.http.HttpServletRequest;

import com.munichosica.myapp.dto.Usuario;
import com.munichosica.myapp.dto.UsuarioJF;
import com.munichosica.myapp.exceptions.PersonaDaoException;
import com.munichosica.myapp.exceptions.RolException;
import com.munichosica.myapp.exceptions.UsuarioException;

public interface UsuarioDao {
	public List<UsuarioJF> listarUsuarios(String criterio,String Texto,String estado) throws UsuarioException;
	public UsuarioJF procesar(UsuarioJF usuarioJF)  throws UsuarioException, PersonaDaoException;
	public Usuario insertar(Usuario usuario) throws UsuarioException;
	public Usuario modificar(Usuario usuario) throws UsuarioException;
	public Usuario obtener(Integer codigo) throws UsuarioException;
	public Usuario obtener(String Usuario) throws UsuarioException;
	public UsuarioJF obtenerUsuario(HttpServletRequest request,Integer codigo)  throws UsuarioException, PersonaDaoException, RolException, UnsupportedEncodingException, IOException, DataFormatException;
	public void eliminar(Integer codigo) throws UsuarioException;
	public boolean existeUsuario(String usuario) throws UsuarioException;
	public List<Usuario> listarTodos() throws UsuarioException;
}
